"""Convenience wrapper for starting an appengine tool."""   
import os 
import sys
  
if not has
attr(sys, 'version_info'):   
sys.stderr.write('Very old versions of Python are not supported. Please '                    
'use version 2.5 or greater.\n')   
sys.exit(1) version_tuple = tuple(sys.version_info[:2]) 
if version_tuple < (2, 4):   
sys.stderr.write('Error: Python %d.%d is not supported. Please use '                    
'version 2.5 or greater.\n' % version_tuple)   sys.exit(1) 
if version_tuple == (2, 4):  
sys.stderr.write('Warning: Python 2.4 is not supported; this program may '                    
'break. Please use version 2.5 or greater.\n')  
DIR_PATH = os.path.abspath(os.path.dirname(os.path.realpath(__file__))) 
SCRIPT_DIR = os.path.join(DIR_PATH, 'google', 'appengine', 'tools')  
EXTRA_PATHS = [  
DIR_PATH,   os.path.join(DIR_PATH, 'lib', 'antlr3'),   
os.path.join(DIR_PATH, 'lib', 'django'),   
os.path.join(DIR_PATH, 'lib', 'webob'),   
os.path.join(DIR_PATH, 'lib', 'yaml', 'lib'), ]  
SCRIPT_EXCEPTIONS = {   
"dev_appserver.py" : "dev_appserver_main.py" }  
def run_file(file_path, globals_, 
script_dir=SCRIPT_DIR):   
"""Execute the file at the specified path with the passed-in globals."""   
sys.path = EXTRA_PATHS + sys.path   script_name = os.path.basename(file_path)   
script_name = SCRIPT_EXCEPTIONS.get(script_name, script_name)   
script_path = os.path.join(script_dir, script_name)   
execfile(script_path, globals_)  
if __name__ == '__main__':   
run_file(__file__, globals()) 